
Image by Pete Linforth from Pixabay
license ?首先要聊聊「開源(open source)」,「把自己的創作公開」這件事,並不代表別人可以任意取用、複製或修改,創作者預設是會被法律保障的,如果創作者本人希望能夠讓大眾一同使用、參與修改的話,那麼就透過 License(授權 / 許可證 / 中文翻譯很難翻 QQ),把創作者和後來的參與者之間的權利、義務寫清楚,以此避免法律糾紛。
但因為我自己也是開源菜鳥,就不班門弄斧了,附上幾個優質資源給有興趣的捧油們參考:
你還在想說要自己寫嗎?不用這麼麻煩,開源的概念發展到現在(2020),已差不多二十年左右,已經有許多現成的 License 可以給大眾使用,但相對的,創作者也要花時間去瞭解每個 License 的差異,所保障創作者的權利義務分別是什麼,這部分的時間是不能省的,因為有些 License 替創作者保障得很嚴格,例如 GPL(GNU General Public License) 限制有使用到 GPL 專案的專案也需要掛上 GPL (我知道你現在還聽不懂我在說什麼 XD),總之 GPL 就是屬於比較嚴格的那種 License;相對之下有些 License 就很鬆,例如 BSD 和 MIT License。
License 呢?詳細的選擇方法,可以參考中文優質文章 在開源時代的興起下,如何透過License共享並保有權益 | ProgressBar。
License ?在這邊我們示範在 Github 替 repository 加入 license,有兩種情況,一種是要創新專案的時候、一種是在現有專案加入 license。
License創立專案時,除了打上 Repository name 和 Description 之外,也可以在這個時候,點右下角的 Add a license: None。

在下拉選單中,可以看到有超多種選擇,請事先做功課再來選會比較好哦,萬一你的開源專案真的爆紅後,到時候才想到要加 License 或 要改 License 都是很麻煩的事哦,因為會牽扯到事前事後的權益問題,乾脆在一開始就決定好專案的方向。

選好你想要的 License 後,就點 Create repository,我在這邊示範用 MIT License,在 repository 中,會出現一個叫做 LICENSE 的檔案,並且系統替 repository 加上了 MIT 的 License 標章。

到這裡,你已經替 repository 加入 licesne,別人就可以在 license 的規範下,「合法」地使用你的創作。
License在 repository 頁面,點 Create new file

點 Create new file 進來,在檔名欄位打上 license

檔名打 license 後,在檔名的右邊就會跳出 Choose a license template 選項

在這個頁面,你就可以選擇你想要替 repository 加入的 license

這邊再次以 MIT License 為例,會列出每個 License 允許 和 限制 使用者的權限,確認 Year 和 Full name 沒問題,可以按 Review and submit。

就會跳回到修改檔案的頁面,確認整個 License 沒問題後

就可以寫下你的 Commit message,然後可以選擇直接把 commit 寫到 master 裡,或另外再創一個 branch (這個選項是預設)。

我這邊選直接 commit 到 master,然後 commit 出去就成功了。

最近因為投稿台灣的開源研討會 COSCUP,被工作人員要求說要替 repository 加入 license,所以才進一步去瞭解開源的權益,也才發現到,即使是 Public repository,內容都是公開的,也不能隨意去使用,不然是違法的,需要有 license 的規範,把可以做的、不可以做的寫清楚。
還有,後來才知道除了有 copyright(版權/著作權) 這個名詞之外,原來還有 copyleft(著作傳/著佐權) 這個名詞,但我自己也是剛接觸,有興趣的捧油們可以去瞭解。
我是 RS,這是我的 不做怎麼知道系列 文章,我們 下次見。